package collection;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/*
* 迭代器的演示
*
* */
public class IteratorDemo {
    public static void main(String[] args) {
        /*迭代器的常用方法
        *boolean hasNext();---------问（必要操作）
        *询问集合中是否有下一个元素可供迭代
        * 注意：迭代器默认开始位置是集合的第一个元素之前
        * 无论调用了多少次hasNext()方法，迭代器的位置都没变 都不会改变
        * E next();----------取（必要操作）
        * 迭代器向后移动一个位置并将该位置的元素取出
        * */
        Collection<String> c = new ArrayList<>();
        c.add("one");
        c.add("#");
        c.add("two");
        c.add("#");
        c.add("three");
        c.add("#");
        c.add("four");
        c.add("#");
        c.add("five");
        System.out.println(c);
        Iterator<String> it= c.iterator();//创建迭代器对象
        while (it.hasNext()) {  // 判断是否有下一个元素
            String s = it.next();//获取下一个元素
            System.out.println(s);//输出下一个元素
           // if (s.equals("#"))
            if("#".equals(s)){//直接量
                it.remove();//迭代器遍历过程中不允许通过集合的方式来增删、改元素    //要用迭代器的变量删除元素
            }
            }
        System.out.println(c);//输出集合
        }
    }

